package org.flower.dao;

import org.flower.entity.ShoppingCart;

import java.util.List;

/**
 * 购物车接口
 */
public interface ShoppingCartDao {
    /**
     * 根据用户编号查询购物车总数量
     * @param uid
     * @return
     */
    int getShoppingCountNum(int uid);

    /**
     * 根据用户编号查询购物车的信息
     * @param uid
     * @return
     */
    List<ShoppingCart> getShoppingAllByUid(int uid);

    /**
     * 添加购物车
     * @param shop
     * @return
     */
    boolean addShoppingCart(ShoppingCart shop);
    /**
     * 根据用户编号和商品编号 查询该商品是否存在
     * @param uid 用户编号
     * @param comid 商品编号
     * @return 是否存在
     */
    boolean getisExistByComIdAndUid(int uid,int comid);

    /**
     * 修改商品的数量 用于不知道购物车编号的情况下
     * @param uid 用户编号
     * @param comid 商品编号
     * @param num 数量
     * @return 是否修改成功
     */
    boolean updateShoppingNum(int uid, int comid, int num);

    /**
     * 根据购物车编号 删除该条购物车信息
     * @param id
     * @return
     */
    boolean delShoppingById(int id);

    /**
     * 根据编号修改购物车的 勾选状态
     * @param id
     * @return
     */
    boolean updateShoppingFlag(int id);

    /**
     * 根据编号修改商品数量 input框直接给数量
     * @param id
     * @return
     */
    boolean updateShoppingNumInput(int id,int num);

    /**
     * 根据编号修改商品数量 商品数量+1或者-1
     * @param id
     * @param num
     * @return
     */
    boolean updateShoppingNum1(int id,int num);

    /**
     * 根据用户编号查询已经勾选的商品信息
     * @param uid
     * @return
     */
    List<ShoppingCart> getShoppingAllAndYesChangedByUid(int uid);
}
